<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Controlador de acceso de usuarios y de operaciones sobre los mismos
 *  
 */
class Usuarios extends CI_Controller {
    
    function __construct() {
        parent::__construct();
        
        $this->menu['menu']='usuarios';
    }
    
    /**
     * Función index
     * Redirige dependiendo de si el usuario se encuentra logueado o no.
     */
    function index(){
        if($this->autenticacion->logueado()){
            redirect('admin/menu_principal');
        }
        else{
            $this->login();
        }
    }
    
    /**
     * Función login
     * Muestra el formulario de login de usuario.
     * 
     * @param array $mensaje Mensajes. ['error'] o ['ok']
     */
    function login($mensaje=NULL){
        //Si ya se encuentra logueado redirijo al Menú Principal
        if($this->autenticacion->logueado()){
            redirect('admin/menu_principal');
        }
        else{
            $this->load->helper('form');
            $data['mensaje']=$mensaje;
            
            $this->load->view('admin/template/encabezado');
            $this->load->view('admin/template/menu',$this->menu);
            $this->load->view('admin/usuarios/login_view', $data);
            $this->load->view('admin/template/footer');
        }
    }
    
    /**
     * Función verificar
     * Valida el usuario y la contraseña, en caso de estar OK redirije al menú
     * principal. Si no muestra mensaje y la pantalla de login nuevamente.
     */
    function verificar(){
        //Si ya se encuentra logueado redirijo al Menú Principal
        if($this->autenticacion->logueado()){
            redirect('admin/menu_principal');
        }
        else{
            $usuario =  $this->input->post('nombreUsuario');
            $contrasena = $this->input->post('contrasena');
            
            if($this->autenticacion->login($usuario, $contrasena)){
                $registro="Usuario se logueó";
                $this->registro_actividad->cargar_registro($this->session->userdata('id'), $registro);
                redirect('admin/menu_principal');
            }
            else{
                $mensaje['error']=  "Usuario o contraseña inválidos";
                $this->login($mensaje);
            }
        }
    }
    
    
    function logout(){
        $mensaje['ok']="Ha salido correctamente";
        $registro="Usuario se deslogueó";
        $this->registro_actividad->cargar_registro($this->session->userdata('id'), $registro);
        $this->autenticacion->logout();
        $this->login($mensaje);
    }
}

/* End of file usuarios.php */
/* Location: ./application/controllers/usuarios.php */